========================================+++++====--:.-..:==++++===**#
=----==============------------::-------===+-+:==.:+=::===:===+=+++=+
:::::---======+++++=============--======+=++-=+#*=#+:-*+=-:-=++***::+
-:::----===+++++++++++++++===+*+=--==-=+#*++=*###*#++##*+=++*####*+*#
====++++=--=***####************+====+=+###==*###%####*#*===#%#######%
*******+====+**#*##*##*#####**********************###*++---*#*#%####%
###########**#%########%###*******##******************+++++*+*##%#%%%
%%%########*###%#########*********#*******************++************#
#########*#######%#####***********####******************************#
%%############*#*#****#************#####**#*************######****#*#
############%#####**************++**######################********#*#
########**##**##**********#******########***#***##******************#
#####%%###****************###******#********************************#
####**#*********************#******##*******************************#
****##******************************#****+++************************#
######********************************#******+++********************#
#*##***********************************##*******++++****************#
#***************************************###********++++*************#
#*****************************************###**********++++*********#
#**********************+********************##************+++++*****#
**********#**#*********+********++***********###**************++++**#
**************##*******************************####**************+++*
%####%%###%%%%%%%%%##########################%%#%%%%%################